package taller.xml.parser;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;

import taller.dataLayer.vo.CotizacionVO;
import taller.dataLayer.vo.ItemCotizacionVO;

import com.thoughtworks.xstream.annotations.XStreamAlias;

@XStreamAlias("Cotizacion")
public class CotizacionParser {

	private int numero;
	private Date fecha;
	private int vigencia;
	private int oficVta;
	
	@XStreamAlias("Items")
	private List<ItemCotizacionParser> items;

	public CotizacionVO getCotizacionVO(){
		CotizacionVO cotiz = new CotizacionVO();
		cotiz.setNumero(this.numero);
		cotiz.setFechaVigenciaDesde(this.fecha);

		GregorianCalendar calendar = new GregorianCalendar();
		calendar.setTime(this.fecha);
		calendar.add(Calendar.DAY_OF_MONTH, this.vigencia);
		
		cotiz.setFechaVigenciaHasta(calendar.getTime());
		cotiz.setNumeroOficinaDeVenta(this.oficVta);
		
		List<ItemCotizacionVO> itemsCotiz = new ArrayList<ItemCotizacionVO>();
		for (ItemCotizacionParser itemParser : this.items) {
			itemsCotiz.add(itemParser.getItemCotizacionVO());
		}
		cotiz.setItems(itemsCotiz);
		
		return cotiz;
	}
	
	public int getNumero() {
		return numero;
	}

	public void setNumero(int numero) {
		this.numero = numero;
	}

	public Date getFecha() {
		return fecha;
	}

	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}

	public int getVigencia() {
		return vigencia;
	}

	public void setVigencia(int vigencia) {
		this.vigencia = vigencia;
	}

	public int getOficVta() {
		return oficVta;
	}

	public void setOficVta(int oficVta) {
		this.oficVta = oficVta;
	}

	public List<ItemCotizacionParser> getItems() {
		return items;
	}

	public void setItems(List<ItemCotizacionParser> items) {
		this.items = items;
	}
}
